package com.example;

import java.util.Collections;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DateType;

/**
 * 正在使用
 * 
 * https://github.com/baomidou/generator
 * 
 * https://juejin.cn/post/7153855035896512526
 * @author simple
 *
 */
public class GenSource {

	public static void main(String[] args) {
//		FastAutoGenerator.create("jdbc:mysql://10.0.10.251:3307/zjxny_dev", "developer", "Sz123456")
		FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/flowable?characterEncoding=UTF-8&rewriteBatchedStatements=true&useSSL=false&allowPublicKeyRetrieval=true", "root", "123456")
		.globalConfig(builder -> {
			builder.author("your name") // 设置作者
			.dateType(DateType.ONLY_DATE)//时间类型	
			.commentDate("yyyy-MM-dd hh:mm:ss")
			.disableOpenDir()//生成后不打开目录 
//	            .enableSwagger() // 开启 swagger 模式
				.outputDir("src/main/java"); // 指定输出目录
		})		
		.templateConfig(builder -> builder.controller(""))//不生成控制器
		
		
		.packageConfig(builder -> {
			builder.parent("com.example") // 设置父包名
//				.moduleName("system") // 设置父包模块名
	            .pathInfo(Collections.singletonMap(OutputFile.xml, "src/main/resources/mybatis/mapper")); // 设置mapperXml生成路径
		})
		.strategyConfig(builder -> {
			builder.addInclude(
//					"account_info",
//					"data_info"
					"dict_region"
					) // 设置需要生成的表名				
				.addTablePrefix("dict_")// 设置过滤表前缀	
//				.serviceBuilder()
//				.superServiceClass()
				.entityBuilder()				
//				.superClass("com.tcm.luck.common.BaseEntity")//继承实体
				.enableLombok(); 
		})		
		.execute();
	}
}